using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;
using Nextel.Utils;

public partial class ActividadBusqueda : PageController
{
    public List<AbstractBean> loDT = new List<AbstractBean>( );
    public String[] cabecera;
    public String[] detalle;
    public String[] ancho;
    public PaginacionBean pagina = new PaginacionBean();
    public String camposBusqueda = "";
    public String eliminarEditar;
    public bool isfoto = false;

    protected override void initialize( )
    {
        
        if (Request.Form["numeroPagina"] != null)
        {
            irPagina();
        }
        else 
        {
            realizarBusqueda( );
        }
    }
  
    #region busqueda Actividad
    public void iniciarActividad()
    {
        isfoto = false;
        String[] cabecera1 = {  
                IdiomaCultura.getMensaje(IdiomaCultura.WEB_CLIENTE), 
                IdiomaCultura.getMensaje(IdiomaCultura.WEB_USUARIO),    
                IdiomaCultura.getMensaje(IdiomaCultura.WEB_FECHAINICIO),
                IdiomaCultura.getMensaje(IdiomaCultura.WEB_FECHAFIN),
                IdiomaCultura.getMensaje(IdiomaCultura.WEB_TIPOACTIVIDAD), 
                IdiomaCultura.getMensaje(IdiomaCultura.WEB_NR0_ESTADO),//"NR0 ESTADO",
                IdiomaCultura.getMensaje(IdiomaCultura.WEB_NRO_REALIZADO)//"NRO REALIZADO"
            };
        String[] detalle1 = { "NOMBRE", "USUARIO", "FECHAINICIOREALIZADO", "FECHAFINREALIZADO", "TIPOACTIVIDAD"
            , "CANTIDADESTADO", "CANTIDADESTADOREALIZADO" };
        detalle = detalle1;
        cabecera = cabecera1;

        ActividadReporteBean bean = getActividadBean();
        if (validarFormularioActividad(bean))
        {
            loDT = DBActividad.findActividadReporteBean(bean, ((UsuarioBean)Session[SessionManager.USER_SESSION]).codigo);
        }else{
            loDT = new List<AbstractBean>( );
        }        
    }

    public void iniciarActividadEstado()
    {
        isfoto = true;
        String[] cabecera1 = {  
                IdiomaCultura.getMensaje(IdiomaCultura.WEB_CLIENTE), 
                IdiomaCultura.getMensaje(IdiomaCultura.WEB_USUARIO),    
                IdiomaCultura.getMensaje(IdiomaCultura.WEB_ESTADOS),
                IdiomaCultura.getMensaje(IdiomaCultura.WEB_FECHA),
                IdiomaCultura.getMensaje(IdiomaCultura.WEB_TEXTO), 
                IdiomaCultura.getMensaje(IdiomaCultura.WEB_ENTREGA), 
                IdiomaCultura.getMensaje(IdiomaCultura.WEB_NO_ENTREGA),
                IdiomaCultura.getMensaje(IdiomaCultura.WEB_POSITION_CONNECTION) // nuevo
                 
            };
        String[] detalle1 = { "NOMBRE", "NOMBREUSUARIO", "NOMBREESTADO", "FECHAMOVIL", "OBSERVACION", "ENTREGA", "NOENTREGA", "ERRORCONEXIONTEXTO" };
        detalle = detalle1;
        cabecera = cabecera1;

        ActividadReporteBean bean = getActividadBean();
        if (validarFormularioActividad(bean))
        {
            loDT = DBActividad.findActividadEstadoReporteBean(bean, ((UsuarioBean)Session[SessionManager.USER_SESSION]).codigo);
        }
        else
        {
            loDT = new List<AbstractBean>();
        }
    }

    private bool validarFormularioActividad(ActividadReporteBean bean) {

        return StringUtils.validarFechaCompleta(bean.fechainicio) &&
                StringUtils.validarFechaCompleta(bean.fechafin);
    }
     
    private ActividadReporteBean getActividadBean()
    {

        ActividadReporteBean bean = new ActividadReporteBean();

        bean.nombre = Request.Form["txtnombre"];

        bean.codigousuario = Request.Form["txtcodigousuario"];

        bean.codigoperfil = Request.Form["cmbperfil"]; // nuevo

        bean.fechainicio = Request.Form["txtFechaInicio"];
        
        bean.fechafin = Request.Form["txtFechaFin"];

                
        camposBusqueda += "txtnombre=" + bean.nombre;

        camposBusqueda += "&txtcodigousuario=" + bean.codigousuario;

        camposBusqueda += "&cmbperfil=" + bean.codigoperfil; // nuevo

        camposBusqueda += "&txtFechaInicio=" + bean.fechainicio;

        camposBusqueda += "&txtFechaFin=" + bean.fechafin;
        
        asignarPaginacionBean(bean);


        return bean;
    }

    #endregion


    public void realizarBusqueda()
    {
         
        if(URLManager.WEB_REPORTE_ACTIVIDAD == Request.Form["hidModulo"])
        { 
            iniciarActividad();
        }
        else if (URLManager.WEB_REPORTE_ACTIVIDAD_ESTADO == Request.Form["hidModulo"])
        {
            iniciarActividadEstado();
        }
        
        pagina.setTotalRegistros(loDT);
        pagina.calcularNumeroMostrar();
    }

    #region irpagina
        public void irPagina()
    {
        String piPagina = Request.Form["numeroPagina"];
        String pAncla = Request.Form["ancla"];
        String pPaginaIzquierda = Request.Form["paginaIzquierda"];

        if (pagina != null && piPagina != null)
        {
            pagina.paginaAncla = pAncla;

            if (pPaginaIzquierda != null && !"".Equals(pPaginaIzquierda))
            {
                pagina.paginaIzquierda = int.Parse(pPaginaIzquierda);
            }

            pagina.irPagina(int.Parse(piPagina));

            realizarBusqueda();
        }
    }

    private void asignarPaginacionBean(AbstractBean bean)
    {
        pagina.buscarOrden = Request.Form["hidBuscarOrden"] != null ? int.Parse(Request.Form["hidBuscarOrden"]) : 0;
        pagina.buscarNombre = Request.Form["hidBuscarCampo"];
        camposBusqueda = camposBusqueda + "&hidModulo=" + Request.Form["hidModulo"];

        bean.registroporpagina = pagina.regitrosPorPagina;
        bean.paginaactual = pagina.paginaActual;
        bean.buscarorden = pagina.buscarOrden;
        bean.buscarname = pagina.buscarNombre;

        eliminarEditar = bean.flag;
    }

    #endregion
}
